home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / sos3-2.lha / commands.mk next >
Makefile  |  1992-02-13  |  5KB  |  135 lines

  1. # --------------------------------------------------------------------------
  2. # Copyright 1992 by Forschungszentrum Informatik (FZI)
  3. #
  4. # You can use and distribute this software under the terms of the licence
  5. # you should have received along with this program.
  6. # If not or if you want additional information, write to
  7. # Forschungszentrum Informatik, "STONE", Haid-und-Neu-Strasse 10-14,
  8. # D-7500 Karlsruhe 1, Germany.
  9. # --------------------------------------------------------------------------
  10. # ----------------------------------------------------------------------------
  11. # library definitions 
  12. # ----------------------------------------------------------------------------
  13.  
  14. sos.a = $(SOSLIB)/sos.a
  15. XLIBS = -lXm -Bstatic -lXaw -Bdynamic -lXmu -lXext -lXt -lX11
  16.  
  17. # ----------------------------------------------------------------------------
  18. # AT&T - settings
  19. # ----------------------------------------------------------------------------
  20.  
  21. [__ATT__]CC_PROG        = CC
  22. [__ATT__]CC_CPP         = -DATT
  23. [__ATT__]CC_DO_DEBUG    = -g
  24. [__ATT__]CC_DO_PROF     = -pg -DPROFILE
  25. [__ATT__]CC_DO_OPT      = -O2
  26. [__ATT__]CC_DO_OPTLARGE = -O1
  27. [__ATT__]cc_PROG        = cc
  28. [__ATT__]cc_DO_DEBUG    = -g
  29. [__ATT__]cc_DO_PROF     = -pg -DPROFILE
  30. [__ATT__]cc_DO_OPT      = -O2
  31.  
  32. # ----------------------------------------------------------------------------
  33. # GNU - settings
  34. # ----------------------------------------------------------------------------
  35.  
  36. [__GNU__]CC_PROG        = g++
  37. [__GNU__]CC_CPP         = -DGNU
  38. [__GNU__]CC_DO_DEBUG    = -g0
  39. [__GNU__]CC_DO_PROF     = -pg -DPROFILE
  40. [__GNU__]CC_DO_OPT      = -O -fstrength-reduce
  41. [__GNU__]CC_DO_OPTLARGE = -O
  42. [__GNU__]cc_PROG        = gcc
  43. [__GNU__]cc_DO_DEBUG    = -g
  44. [__GNU__]cc_DO_PROF     = -pg -DPROFILE
  45. [__GNU__]cc_DO_OPT      = -O -fstrength-reduce
  46.  
  47. # ----------------------------------------------------------------------------
  48. # general settings
  49. # ----------------------------------------------------------------------------
  50.  
  51. CPP_BOOT    = #-DBOOT
  52. CPP_MON     = #-DMONITOR    # enables PSM monitoring if defined
  53. CPP_NO_ERR  = #-DERR_NO_ASSERT    # disables assertion checking if defined
  54. CPP_NO_TRC  = -DNO_TT        # disables tracing if defined
  55.  
  56. DEBUG_ccFLAG= $(cc_DO_DEBUG)
  57. PROF_ccFLAG = #$(cc_DO_PROF)
  58. OPT_ccFLAG  = #$(cc_DO_OPT)
  59. DEBUG_CCFLAG= $(CC_DO_DEBUG)
  60. PROF_CCFLAG = #$(CC_DO_PROF)
  61. OPT_CCFLAG  = #$(CC_DO_OPT)
  62.  
  63. CPPFLAGS    = $(CC_CPP) $(CPP_BOOT) $(CPP_MON) $(CPP_NO_ERR) $(CPP_NO_TRC)
  64. INCLUDES    = $(SOS_INCLUDES)
  65.  
  66. # ~~~~~~~~~
  67.  
  68. LD_STRIPFLAG= -s        # strip strip-able executables
  69. LD_MONFLAG  = #$(XLIBS)        # must be defined iff CPP_MON is defined
  70. LDFLAGS        = $(LD_MONFLAG)
  71. LDFLAGS.s   = $(LD_STRIPFLAG) $(LDFLAGS)
  72.  
  73.  
  74. # ----------------------------------------------------------------------------
  75. # Commands
  76. # ----------------------------------------------------------------------------
  77.  
  78. SOSCNT         = $(SOSPATH)/cnt
  79. SOSINC         = $(SOSPATH)/include
  80. SOSSRC         = $(SOSPATH)/src
  81. SOSLIB         = $(SOSPATH)/lib
  82. SOSBIN         = $(SOSPATH)/bin
  83.  
  84. SOS_INCLUDES = -I$(SOSINC)
  85.  
  86. IF_CCFLAGS   = $(CC_DO_OPT) $(PROF_CCFLAG)
  87. L_IF_CCFLAGS = $(CC_DO_OPTLARGE) $(PROF_CCFLAG)
  88. CCFLAGS         = $(DEBUG_CCFLAG) $(OPT_CCFLAG) $(PROF_CCFLAG)
  89. ccFLAGS      = $(DEBUG_ccFLAG) $(OPT_ccFLAG) $(PROF_ccFLAG)
  90.  
  91. # ~~~~~~~~~~
  92.  
  93. RM           = rm -f $@
  94. COMP.cc      = @ $(RM) ; set -x ;\
  95.          $(cc_PROG) $(INCLUDES) $(CPPFLAGS) $(ccFLAGS) -c -o $@
  96. COMP.CC      = @ $(RM) ; set -x ;\
  97.          $(CC_PROG) $(INCLUDES) $(CPPFLAGS) $(CCFLAGS) -c -o $@
  98.  
  99. LINK.cc      = @ $(RM) ; set -x ;\
  100.          $(cc_PROG) $(INCLUDES) $(CPPFLAGS) $(ccFLAGS) -o $@
  101. LINK.CC      = @ $(RM) ; set -x ;\
  102.          $(CC_PROG) $(INCLUDES) $(CPPFLAGS) $(CCFLAGS) -o $@
  103.  
  104. SOS.CC         = @ $(RM) ; $(SOSBIN)/sos-CC -keep_scp $(CC_PROG) $(INCLUDES) \
  105.                   $(CPPFLAGS) $(CCFLAGS)    -c -o $@
  106.  
  107. SOS.IF_CC     = @ $(RM) ; $(SOSBIN)/sos-CC $(CC_PROG) $(INCLUDES) \
  108.                   $(CPPFLAGS) $(IF_CCFLAGS) -c -o $@
  109. SOS.LARGEIF_CC= @ $(RM) ; $(SOSBIN)/sos-CC $(CC_PROG) $(INCLUDES) \
  110.                   $(CPPFLAGS) $(L_IF_CCFLAGS) -c -o $@
  111.  
  112. SOS.CMP         = @ cd $(@D) ; set -x ; $(SOSBIN)/sos-cmp
  113.  
  114. LEX.CC         = @ $(RM) ; set -x ; lex  $? ; set +x ; $(LEX._rest_)
  115. YACC.CC         = @ $(RM) ; set -x ; yacc $? ; set +x ; $(YACC._rest_)
  116.  
  117.  
  118. LEX._rest_   =   cat lex.yy.c                                 \
  119.            | sed -e "/^yyback(p, m)/ { s/.*/yyback (int *p, int m)/" \
  120.                 -e "; n"                          \
  121.              -e "; s/ *int \*p;//"                      \
  122.              -e "}"                          \
  123.              -e "/^yyoutput(c)/ { s/.*/yyoutput (int c)/"          \
  124.              -e "; n"                          \
  125.              -e "; s/ *int c;//"                     \
  126.              -e "}"                          \
  127.              -e "/^yyunput(c)/ { s/.*/yyunput (int c)/"          \
  128.              -e "; n"                          \
  129.              -e "; s/ *int c;//"                      \
  130.              -e "}"                          \
  131.            > $@                             ;\
  132.          rm lex.yy.c ;
  133. YACC._rest_  =   cat y.tab.c | sed -e "/^extern.*\<malloc\>.*/ d" > $@    ;\
  134.          rm  y.tab.c ;
  135.